package com.lagou.service;


import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * 降级回退逻辑需要定义一个类，实现FeignClient接口，实现接口中的方法
 */
// 原来：http://lagou-service-code/code/validate/ + {email}/{code};
// @FeignClient表明当前类是一个Feign客户端，value指定该客户端要请求的服务名称（登记到注册中心上的服务提供者的服务名称）
@FeignClient(value = "lagou-service-code", fallback = CodeFallback.class, path = "/code")
//@RequestMapping("/code")
@Component  // 别忘了这个注解，还应该被扫描到
public interface CodeServiceFeignClient {
    // Feign要做的事情就是，拼装url发起请求
    // 我们调用该方法就是调用本地接口方法，那么实际上做的是远程请求
    @RequestMapping("/validate/{email}/{code}")
    Integer validate(@PathVariable(value = "email") String email, @PathVariable(value = "code") String code);
}
